title |
count CodeLab |
count 19w |
subTot 19w |
exercise |
title |
Introducing Python |
|
Table of Contents |
|
|
|
|
|
|
Page numbers might be a little off |
|
|
|
|
|
|
|
|
|
|
|
Begin week 1 CodeLab |
|
|
|
|
|
Preface xv |
|
|
|
|
|
|
|
|
|
|
|
1. A Taste of Py 1 |
|
|
|
|
|
Python in the Real World 5 |
|
|
|
|
|
Python versus Language X 6 |
|
|
|
|
|
So, Why Python? 9 |
|
|
|
|
|
When Not to Use Python 9 |
|
|
|
|
|
Python 2 versus Python 3 10 |
|
|
|
|
|
Installing Python 10 |
|
|
|
|
|
Running Python 11 |
|
|
|
|
|
Using the Interactive Interpreter 11 |
|
|
|
|
|
Use Python Files 12 |
|
|
|
|
|
What’s Next? 13 |
|
|
|
|
|
Your Moment of Zen 13 |
|
|
|
|
|
Things to Do 14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Py Ingredients: Numbers, Strings, |
and Variables 152. Py Ingredients: Numbers, Strings, |
and Variables 15 |
Variables, Names, and Objects 15 |
5 |
5 |
5 |
51001 51014 51019 51013 51043 |
Assignment of variables |
Numbers 19 |
14 |
3 |
8 |
51872 51029 51030 51031 51085 51032 51033 51034 51044 51045 51046 51048 51047 59249 |
Arithmetic expressions |
Integers 19 |
|
|
|
|
|
Precedence 23 |
|
|
|
|
|
Bases 24 |
|
|
|
|
|
Type Conversions 25 |
8 |
8 |
16 |
51750 51751 51752 51753 51026 51024 51843 51842 |
Conversions (some of these are near this section in the book) |
How Big Is an int? 26 |
|
|
|
|
|
Floats 27 |
|
|
|
|
|
Math Functions 27 |
|
|
|
|
|
Strings 27 |
|
|
|
|
|
Create with Quotes 28 |
|
|
|
|
|
Convert Data Types by Using str() 30 |
|
|
|
|
|
Escape with \ 30 |
|
|
|
|
|
Combine with + 31 |
2 |
2 |
18 |
51611 51612 |
list slicing/splicing/concatenation (first two) |
Duplicate with * 32 |
|
|
|
|
|
Extract a Character with [] 32 |
11 |
3 |
21 |
51840 51841 51836 51847 51846 51763 51760 51761 51762 51855 51868 |
Strings |
Begin week 2 CodeLab |
|
|
|
|
|
Slice with [start: end: step] 33 |
11 |
7 |
28 |
51764 51765 51771 51772 51850 51851 51852 81853 51844 51848 51854 |
Slicing |
Slice with [start: end: step] 33 |
7 |
4 |
32 |
51613 51614 51615 51616 51617 51618 51619 |
list slicing/splicing/concatenation (second group) |
Get Length with len() 35 |
2 |
2 |
34 |
51211 51602 |
list-methods (part here) |
Split with split() 35 |
5 |
3 |
37 |
51078 51079 51080 51081 51082 |
|
Combine with join() 36 |
|
|
|
|
|
Playing with Strings 36 |
3 |
3 |
40 |
51849 51889 51890 |
finding |
Begin week 3 CodeLab |
|
|
|
|
|
Case and Alignment 37 |
|
|
|
|
|
Substitute with replace() 38 |
|
|
|
|
|
More String Things 39 |
|
|
|
|
|
Things to Do 39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. Py Filling: Lists, Tuples, |
Dictionaries, and Sets 41 |
Lists and Tuples 41 |
|
|
|
|
|
Lists 42 |
|
|
|
|
|
Create with [] or list() 42 |
5 |
4 |
44 |
51600 51601 51192 51193 51194 |
List initialization |
Convert Other Data Types to Lists with list() 43 |
|
|
|
|
|
Get an Item by Using [offset] 43 |
14 |
2 |
46 |
51203 51201 51195 51196 51197 51199 51200 51202 51204 51205 51206 51207 51208 51209 |
list indexing (move 51280 later with loops) |
Lists of Lists 44 |
|
|
|
|
|
Change an Item by [offset] 45 |
|
|
|
|
|
Get a Slice to Extract Items by Offset Range 45 |
|
|
|
|
|
Add an Item to the End with append() 46 |
10 |
2 |
48 |
51603 51275 51276 51277 51278 51284 51285 51287 51288 51289 |
list-addition/retrieval/deletion |
Combine Lists by Using extend() or += 46 |
|
|
|
|
|
Add an Item by Offset with insert() 46 |
|
|
|
|
|
Delete an Item by Offset with del 47 |
3 |
2 |
50 |
51609 51607 51608 |
list-addition/retrieval/deletion |
Delete an Item by Value with remove() 47 |
|
|
|
|
|
Get an Item by Offset and Delete It by Using pop() 47 |
2 |
2 |
52 |
51605 51606 |
list-methods(part here) |
Find an Item’s Offset by Value with index() 48 |
|
|
|
|
|
Test for a Value with in 48 |
3 |
3 |
55 |
51620 51621 51213 |
list membership |
Count Occurrences of a Value by Using count() 49 |
|
|
|
|
|
Convert to a String with join() 49 |
|
|
|
|
|
Reorder Items with sort() 49 |
6 |
4 |
59 |
51212 51610 51256 51294 51295 51296 |
list-methods(part here) |
Reorder Items with sort() 49 |
1 |
1 |
60 |
51283 |
functions and lists |
Begin week 4 CodeLab |
|
|
|
|
|
Get Length by Using len() 50 |
|
|
|
|
|
Assign with =, Copy with copy() 50 |
|
|
|
|
|
Tuples 52 |
|
|
|
|
|
Create a Tuple by Using () 52 |
5 |
3 |
63 |
31700 51701 51706 51707 51708 |
|
Tuples versus Lists 53 |
|
|
|
|
|
Dictionaries 53 |
|
|
|
|
|
Create with {} 54 |
2 |
2 |
65 |
51815 51816 |
|
Convert by Using dict() 54 |
|
|
|
|
|
Add or Change an Item by [ key] 55Add or Change an Item by [ key] 55 |
5 |
3 |
68 |
51818 51820 51821 51822 51823 |
|
Combine Dictionaries with update() 56 |
|
|
|
|
|
Delete an Item by Key with del 57 |
3 |
3 |
71 |
51819 51824 51825 |
|
Delete All Items by Using clear() 57 |
|
|
|
|
|
Test for a Key by Using in 58 |
|
|
|
|
|
Get an Item by [key] 58 |
1 |
1 |
72 |
51817 |
|
Get All Keys by Using keys() 59 |
|
|
|
|
|
Get All Values by Using values() 59 |
|
|
|
|
|
Get All Key-Value Pairs by Using items() 59 |
|
|
|
|
|
Assign with =, Copy with copy() 59 |
|
|
|
|
|
Sets 60 |
|
|
|
|
|
Create with set() 61 |
4 |
2 |
74 |
51800 51802 51803 51804 |
|
Create with set() 61 |
6 |
3 |
77 |
51805 51806 51807 51809 51810 51811 |
|
Convert from Other Data Types with set() 61 |
1 |
1 |
78 |
51248 |
|
Test for Value by Using in 62 |
1 |
1 |
79 |
51808 |
|
Begin week 5 CodeLab |
|
|
|
|
|
Combinations and Operators 63 |
|
|
|
|
|
Compare Data Structures 66 |
|
|
|
|
|
Make Bigger Data Structures 66 |
|
|
|
|
|
Things to Do 67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. Py Crust: Code Structures 69 |
|
|
|
|
|
Comment with # 69 |
|
|
|
|
|
Continue Lines with \ 70 |
|
|
|
|
|
Compare with if, elif, and else 71 |
14 |
2 |
81 |
51109 51112 51113 51173 51061 51062 51063 51165 51166 51167 51110 51111 51065 51064 |
Logical Operators |
Compare with if, elif, and else 71 |
8 |
2 |
83 |
51114 51115 51116 51117 51102 51217 51160 51896 |
if |
Compare with if, elif, and else 71 |
4 |
2 |
85 |
51891 51892 51893 51897 |
boolean values and variables |
Compare with if, elif, and else 71 |
5 |
2 |
87 |
51118 51119 51120 51121 51122 |
if-else |
Compare with if, elif, and else 71 |
3 |
3 |
90 |
51900 51898 51899 |
cascaded and nested if |
Compare with if, elif, and else 71 |
10 |
2 |
92 |
51915 51912 51913 51914 51910 51911 51901 51902 51903 51905 |
range-testing |
What Is True? 74 |
|
|
|
|
|
Repeat with while 75 |
6 |
2 |
94 |
51180 51181 51187 51251 51252 51253 |
while loops |
Repeat with while 75 |
9 |
3 |
97 |
51935 51936 51937 51938 51939 51940 51941 51942 51943 |
input testing loops |
Repeat with while 75 |
1 |
1 |
98 |
51007 |
loops and tuples |
Begin week 6 CodeLab |
|
|
|
|
|
Repeat with while 75 |
2 |
2 |
100 |
51214 51215 |
list-traversal (part) |
Repeat with while 75 |
2 |
2 |
102 |
51291 51292 |
loops and lists (part) |
Repeat with while 75 |
1 |
1 |
103 |
51012 |
loops and lists (combos) |
Cancel with break 75 |
|
|
|
|
|
Skip Ahead with continue 76 |
|
|
|
|
|
Check break Use with else 76 |
|
|
|
|
|
Iterate with for 77 |
13 |
13 |
116 |
51176 51177 51259 51250 51286 51268 51269 51929 51930 51931 51932 51933 51934 |
for and range |
Iterate with for 77 |
2 |
2 |
118 |
51946 51945 |
nested loops |
Begin week 7 CodeLab |
|
|
|
|
|
Iterate with for 77 |
11 |
11 |
129 |
51270 51271 51272 51273 51274 51279 51006 51002 51003 51004 51005 |
loops and strings |
Iterate with for 77 |
4 |
4 |
133 |
51210 51216 51219 51263 |
list-traversal (part) |
Iterate with for 77 |
1 |
1 |
134 |
51280 |
list indexing (move 51280 later with loops) |
Iterate with for 77 |
4 |
4 |
138 |
51262 51264 51266 51267 |
|
Iterate with for 77 |
3 |
3 |
141 |
51290 51293 51297 |
loops and lists |
Begin week 8 CodeLab |
|
|
|
|
|
Iterate with for 77 |
3 |
3 |
144 |
51298 51301 51305 |
set iteration |
Iterate with for 77 |
1 |
1 |
145 |
51302 |
dictionary adding/removal |
Iterate with for 77 |
12 |
12 |
157 |
51828 51829 51830 51831 51826 51300 51265 51281 51299 51827 51282 51832 |
dictionary traversal |
Iterate with for 77 |
2 |
2 |
159 |
51303 51304 |
|
Begin week 9 CodeLab |
|
|
|
|
|
Cancel with break 78 |
|
|
|
|
|
input function small mention 79 |
|
|
|
|
|
Skip with continue 78 |
|
|
|
|
|
Check break Use with else 78 |
|
|
|
|
|
Iterate Multiple Sequences with zip() 79 |
|
|
|
|
|
Generate Number Sequences with range() 80 |
2 |
2 |
161 |
51257 51258 |
list-creation from range |
Other Iterators 81 |
|
|
|
|
|
Comprehensions 81 |
|
|
|
|
|
List Comprehensions 81 |
|
|
|
|
|
Dictionary Comprehensions 83 |
2 |
2 |
163 |
51260 51261 |
|
Set Comprehensions 84 |
|
|
|
|
|
Generator Comprehensions 84 |
|
|
|
|
|
Functions 85 |
11 |
9 |
172 |
51074 51156 51073 51075 51076 51077 51143 51144 51146 51145 51147 |
Invoking functions |
Functions 85 |
2 |
2 |
174 |
51148 51149 |
composition |
Functions 85 |
2 |
2 |
176 |
51155 51016 |
function definition |
Functions 85 |
3 |
3 |
179 |
51105 51158 51218 |
functions and if statements |
Begin week 10 CodeLab |
|
|
|
|
|
Functions 85 |
4 |
4 |
183 |
51162 51008 51009 51011 |
function and loops |
Positional Arguments 89 |
|
|
|
|
|
Keyword Arguments 89 |
|
|
|
|
|
Specify Default Parameter Values 90 |
|
|
|
|
|
Gather Positional Arguments with * 91 |
|
|
|
|
|
Gather Keyword Arguments with ** 92 |
|
|
|
|
|
Docstrings 92 |
|
|
|
|
|
Functions Are First-Class Citizens 93 |
|
|
|
|
|
Inner Functions 95 |
|
|
|
|
|
Closures 95 |
|
|
|
|
|
Anonymous Functions: the lambda() Function 96 |
|
|
|
|
|
Generators 98 |
|
|
|
|
|
Decorators 99 |
|
|
|
|
|
Namespaces and Scope 101 |
|
|
|
|
|
Uses of _ and __ in Names 103 |
|
|
|
|
|
Handle Errors with try and except 103 |
|
|
|
|
|
Make Your Own Exceptions 105 |
|
|
|
|
|
Things to Do 106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5. Py Boxes: Modules, Packages, |
and Programs 109 |
Standalone Programs 109 |
|
|
|
|
|
Command-Line Arguments 110 |
|
|
|
|
|
Modules and the import Statement 110 |
|
|
|
|
|
Import a Module 110 |
|
|
|
|
|
Import a Module with Another Name 112 |
|
|
|
|
|
Import Only What You Want from a Module 112 |
|
|
|
|
|
Module Search Path 113 |
|
|
|
|
|
Packages 113 |
|
|
|
|
|
The Python Standard Library 114 |
|
|
|
|
|
Handle Missing Keys with setdefault() and defaultdict() 114 |
|
|
|
|
|
Count Items with Counter() 116 |
|
|
|
|
|
Order by Key with OrderedDict() 118 |
|
|
|
|
|
Stack + Queue == deque 118 |
|
|
|
|
|
Iterate over Code Structures with itertools 119 |
|
|
|
|
|
Print Nicely with pprint() 120 |
|
|
|
|
|
More Batteries: Get Other Python Code 121 |
|
|
|
|
|
Things to Do 121 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6. Oh Oh: Objects and Classes 123 |
|
|
|
|
|
What Are Objects? 123 |
|
|
|
|
|
Define a Class with class 124 |
6 |
5 |
188 |
51225 51226 51227 51244 51245 51227 |
|
Inheritance 126 |
|
|
|
|
|
Override a Method 127 |
|
|
|
|
|
Add a Method 128 |
|
|
|
|
|
Get Help from Your Parent with super 129 |
|
|
|
|
|
In self Defense 130 |
|
|
|
|
|
Get and Set Attribute Values with Properties 131 |
|
|
|
|
|
Name Mangling for Privacy 133 |
|
|
|
|
|
Method Types 134 |
|
|
|
|
|
Duck Typing 135 |
|
|
|
|
|
Special Methods 137 |
|
|
|
|
|
Composition 140 |
|
|
|
|
|
When to Use Classes and Objects versus Modules 141 |
|
|
|
|
|
Named Tuples 141 |
|
|
|
|
|
Things to Do 143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7. Mangle Data Like a Pro 145 |
|
|
|
|
|
Text Strings 145 |
|
|
|
|
|
Unicode 145 |
|
|
|
|
|
Format 152 |
|
|
|
|
|
Match with Regular Expressions 156 |
|
|
|
|
|
Binary Data 163 |
|
|
|
|
|
bytes and bytearray 164 |
|
|
|
|
|
Convert Binary Data with struct 165 |
|
|
|
|
|
Other Binary Data Tools 168 |
|
|
|
|
|
Convert Bytes/Strings with binascii() 169 |
|
|
|
|
|
Bit Operators 169 |
|
|
|
|
|
Things to Do 170 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8. Data Has to Go Somewhere 173 |
|
|
|
|
|
File Input/Output 173 |
|
|
|
|
|
Write a Text File with write() 174 |
|
|
|
|
|
Read a Text File with read(), readline(), or readlines() 176 |
|
|
|
|
|
Write a Binary File with write() 177 |
|
|
|
|
|
Read a Binary File with read() 178 |
|
|
|
|
|
Close Files Automatically by Using with 178 |
|
|
|
|
|
Change Position with seek() 179 |
|
|
|
|
|
Structured Text Files 181 |
|
|
|
|
|
CSV 181 |
|
|
|
|
|
XML 183 |
|
|
|
|
|
HTML 185 |
|
|
|
|
|
JSON 185 |
|
|
|
|
|
YAML 188 |
|
|
|
|
|
A Security Note 189 |
|
|
|
|
|
Configuration Files 190 |
|
|
|
|
|
Other Interchange Formats 191 |
|
|
|
|
|
Serialize by Using pickle 191 |
|
|
|
|
|
Structured Binary Files 192 |
|
|
|
|
|
Spreadsheets 192 |
|
|
|
|
|
HDF5 192 |
|
|
|
|
|
Relational Databases 193 |
|
|
|
|
|
SQL 194 |
|
|
|
|
|
DB-API 195 |
|
|
|
|
|
SQLite 196 |
|
|
|
|
|
MySQL 198 |
|
|
|
|
|
PostgreSQL 198 |
|
|
|
|
|
SQLAlchemy 198 |
|
|
|
|
|
NoSQL Data Stores 204 |
|
|
|
|
|
The dbm Family 204 |
|
|
|
|
|
Memcached 205 |
|
|
|
|
|
Redis 206 |
|
|
|
|
|
Other NoSQL 214 |
|
|
|
|
|
Full-Text Databases 214 |
|
|
|
|
|
Things to Do 215 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9. The Web, Untangled 217 |
|
|
|
|
|
Web Clients 218 |
|
|
|
|
|
Test with telnet 219 |
|
|
|
|
|
Python’s Standard Web Libraries 220 |
|
|
|
|
|
Beyond the Standard Library: Requests 222 |
|
|
|
|
|
Web Servers 223 |
|
|
|
|
|
The Simplest Python Web Server 223 |
|
|
|
|
|
Web Server Gateway Interface 224 |
|
|
|
|
|
Frameworks 225 |
|
|
|
|
|
Bottle 226 |
|
|
|
|
|
Flask 228 |
|
|
|
|
|
Non-Python Web Servers 232 |
|
|
|
|
|
Other Frameworks 234 |
|
|
|
|
|
Web Services and Automation 236 |
|
|
|
|
|
The webbrowser Module 236 |
|
|
|
|
|
Web APIs and Representational State Transfer 236 |
|
|
|
|
|
JSON 237 |
|
|
|
|
|
Crawl and Scrape 237 |
|
|
|
|
|
Scrape HTML with BeautifulSoup 238 |
|
|
|
|
|
Things to Do 239 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10. Systems 241 |
|
|
|
|
|
Files 24 |
|
|
|
|
|
Create with open() 241 |
|
|
|
|
|
Check Existence with exists() 242 |
|
|
|
|
|
Check Type with isfile() 242 |
|
|
|
|
|
Copy with copy() 243 |
|
|
|
|
|
Change Name with rename() 243 |
|
|
|
|
|
Link with link() or symlink() 243 |
|
|
|
|
|
Change Permissions with chmod() 243 |
|
|
|
|
|
Change Ownership with chown() 244 |
|
|
|
|
|
Get a Pathname with abspath() 244 |
|
|
|
|
|
Get a symlink Pathname with realpath() 244 |
|
|
|
|
|
Delete a File with remove() 244 |
|
|
|
|
|
Directories 244 |
|
|
|
|
|
Create with mkdir() 245 |
|
|
|
|
|
Delete with rmdir() 245 |
|
|
|
|
|
List Contents with listdir() 245 |
|
|
|
|
|
Change Current Directory with chdir() 246 |
|
|
|
|
|
List Matching Files with glob() 246 |
|
|
|
|
|
Programs and Processes 247 |
|
|
|
|
|
Create a Process with subprocess 247 |
|
|
|
|
|
Create a Process with multiprocessing 249 |
|
|
|
|
|
Kill a Process with terminate() 249 |
|
|
|
|
|
Calendars and Clocks 250 |
|
|
|
|
|
The datetime Module 251 |
|
|
|
|
|
Using the time Module 254 |
|
|
|
|
|
Read and Write Dates and Times 255 |
|
|
|
|
|
Alternative Modules 258 |
|
|
|
|
|
Things to Do 259 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11. Concurrency and Networks 261 |
|
|
|
|
|
Concurrency 262 |
|
|
|
|
|
Queues 263 |
|
|
|
|
|
Processes 264 |
|
|
|
|
|
Threads 265 |
|
|
|
|
|
Green Threads and gevent 267 |
|
|
|
|
|
twisted 270 |
|
|
|
|
|
asyncio 271 |
|
|
|
|
|
Redis 271 |
|
|
|
|
|
Beyond Queues 275 |
|
|
|
|
|
Networks 276 |
|
|
|
|
|
Patterns 276 |
|
|
|
|
|
The Publish-Subscribe Model 276 |
|
|
|
|
|
TCP/IP 28 |
|
|
|
|
|
Sockets 281 |
|
|
|
|
|
ZeroMQ 285 |
|
|
|
|
|
Scapy 289 |
|
|
|
|
|
Internet Services 290 |
|
|
|
|
|
Web Services and APIs 291 |
|
|
|
|
|
Remote Processing 292 |
|
|
|
|
|
Big Fat Data and MapReduce 297 |
|
|
|
|
|
Working in the Clouds 298 |
|
|
|
|
|
Things to Do 302 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12. Be a Pythonista 303 |
|
|
|
|
|
About Programming 303 |
|
|
|
|
|
Find Python Code 304 |
|
|
|
|
|
Install Packages 304 |
|
|
|
|
|
Use pip 305 |
|
|
|
|
|
Use a Package Manager 305 |
|
|
|
|
|
Install from Source 306 |
|
|
|
|
|
Integrated Development Environments 306 |
|
|
|
|
|
IDLE 306 |
|
|
|
|
|
PyCharm 306 |
|
|
|
|
|
IPython 307 |
|
|
|
|
|
Name and Document 307 |
|
|
|
|
|
Testing Your Code 309 |
|
|
|
|
|
Check with pylint, pyflakes, and pep8 309 |
|
|
|
|
|
Test with unittest 311 |
|
|
|
|
|
Test with doctest 315 |
|
|
|
|
|
Test with nose 316 |
|
|
|
|
|
Other Test Frameworks 317 |
|
|
|
|
|
Continuous Integration 317 |
|
|
|
|
|
Debugging Python Code 317 |
|
|
|
|
|
Debug with pdb 318 |
|
|
|
|
|
Logging Error Messages 324 |
|
|
|
|
|
Optimize Your Code 326 |
|
|
|
|
|
Measure Timing 327 |
|
|
|
|
|
Algorithms and Data Structures 328 |
|
|
|
|
|
Cython, NumPy, and C Extensions 329 |
|
|
|
|
|
PyPy 330 |
|
|
|
|
|
Source Control 330 |
|
|
|
|
|
Mercurial 330 |
|
|
|
|
|
Git 330 |
|
|
|
|
|
Clone This Book 333 |
|
|
|
|
|
How You Can Learn More 333 |
|
|
|
|
|
Books 334 |
|
|
|
|
|
Websites 334 |
|
|
|
|
|
Groups 335 |
|
|
|
|
|
Conferences 335 |
|
|
|
|
|
Coming Attractions 335 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A. Py Art 337 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B. Py at Work 351 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C. Py Sci 365 |
|
|
|
|
|
Math and Stastics in the Standard Library |
|
|
|
|
|
Math Functions |
|
|
|
|
|
Working with Complex Numbers |
|
|
|
|
|
Calculating Accurate Floating Point with decimal |
|
|
|
|
|
Peform Rational Arithmetic with fractions |
|
|
|
|
|
Use Packed Sequences with array |
|
|
|
|
|
Handle Simple Stats bu Using statistics |
|
|
|
|
|
Matrix Multiplication |
|
|
|
|
|
Scientific Python |
|
|
|
|
|
NumPy |
|
|
|
|
|
Make an Array with array() |
|
|
|
|
|
Make an Array with arange() |
|
|
|
|
|
Make an Array with zeros(), ones(), or random() |
|
|
|
|
|
Change an Array’s Shape with reshape() |
|
|
|
|
|
Get an Element with [] |
|
|
|
|
|
Array Math |
|
|
|
|
|
Linear Algebra |
|
|
|
|
|
The SiPy Library |
|
|
|
|
|
The SiKit Library |
|
|
|
|
|
The IPython Library |
|
|
|
|
|
A Better Interpreter |
|
|
|
|
|
IPython Notebook |
|
|
|
|
|
Python and Scientific Areas |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D. Install Python 3 385 |
|
|
|
|
|
Install Standard Python |
|
|
|
|
|
Mac OS X |
|
|
|
|
|
Windows |
|
|
|
|
|
Linux or Unix |
|
|
|
|
|
Install Anaconda |
|
|
|
|
|
Install and Use ip and virtualenv |
|
|
|
|
|
Install and use Conda |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E. Answers to Exercises 395 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F. Cheat Sheets 429 |
|
|
|
|
|
Operator Preedence |
|
|
|
|
|
String Methods |
12 |
12 |
200 |
51885 51865 51870 51856 51857 51858 51859 51860 51861 51862 51863 51864 |
String Coparisons and Logical Operations (mostly better solved with string methods) |
Begin week 11 CodeLab |
|
|
|
|
|
String Methods |
5 |
5 |
205 |
51757 51758 51759 51766 51767 |
More Methods |
String Methods |
4 |
4 |
209 |
51768 51769 51770 51773 |
More Methods |
String Module Attributes |
|
|
|
|
|
Index 433 |
|
|
|
|
|
No Reading assignment |
|
|
|
|
|
Not found in book |
|
|
|
|
|
try finally block |
|
|
|
|
|
No switch in Python |
3 |
0 |
209 |
51909 51894 51895 |
switch |
Conditional Expressions |
2 |
2 |
211 |
51867 51866 |
Conditional Expressions |
|
|
|
|
|
|
|
|
|
|
|
NOTE: omit Old Formatting |
|
|
|
|
|
NOTE: omit Additional Exercises |
|
|
|
|
|
Net: |
Required total |
|
|
211 |
|
|